/*
 * CeldaBase.h
 *
 *  Created on: Oct 26, 2013
 *      Author: javier
 */

#ifndef CELDABASE_H_
#define CELDABASE_H_

#include <stdio.h>
#include <stdlib.h>
#include "Pieza.h"
#include <string.h>
#include <iostream>

using Golosinas::Pieza;

class CeldaBase {
public:
	virtual bool operator ==(CeldaBase& c) = 0;
	virtual Pieza::color getColorGolosina()=0;
	virtual int eliminarContenido() = 0;
	virtual Pieza * pedirGolosina(int nCol) = 0;
	virtual bool intercambiarGolosina(CeldaBase& c) = 0;
	virtual Pieza * darGolosina(int nCol) = 0;
	virtual Pieza * getGolosina() = 0;
	virtual void setGolosina(Pieza * p);
	virtual bool isVacia() = 0;
	virtual Json::Value toJson();
protected:
	CeldaBase * ptrCeldaAnt;
};

#endif /* CELDABASE_H_ */
